白葡萄酒质量探索

数据集简介

本次探索分析,选用了 P.Cortez等人创建的白葡萄酒数据集,该数据集包含了4898种白葡萄酒的化学成分含量及评分等信息。

该数据集的维度

## [1] 4898   13

数据集列名及取值

## 'data.frame':    4898 obs. of  13 variables:
##  $ X                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ fixed.acidity       : num  7 6.3 8.1 7.2 7.2 8.1 6.2 7 6.3 8.1 ...
##  $ volatile.acidity    : num  0.27 0.3 0.28 0.23 0.23 0.28 0.32 0.27 0.3 0.22 ...
##  $ citric.acid         : num  0.36 0.34 0.4 0.32 0.32 0.4 0.16 0.36 0.34 0.43 ...
##  $ residual.sugar      : num  20.7 1.6 6.9 8.5 8.5 6.9 7 20.7 1.6 1.5 ...
##  $ chlorides           : num  0.045 0.049 0.05 0.058 0.058 0.05 0.045 0.045 0.049 0.044 ...
##  $ free.sulfur.dioxide : num  45 14 30 47 47 30 30 45 14 28 ...
##  $ total.sulfur.dioxide: num  170 132 97 186 186 97 136 170 132 129 ...
##  $ density             : num  1.001 0.994 0.995 0.996 0.996 ...
##  $ pH                  : num  3 3.3 3.26 3.19 3.19 3.26 3.18 3 3.3 3.22 ...
##  $ sulphates           : num  0.45 0.49 0.44 0.4 0.4 0.44 0.47 0.45 0.49 0.45 ...
##  $ alcohol             : num  8.8 9.5 10.1 9.9 9.9 10.1 9.6 8.8 9.5 11 ...
##  $ quality             : int  6 6 6 6 6 6 6 6 6 6 ...
##        X        fixed.acidity    volatile.acidity  citric.acid    
##  Min.   :   1   Min.   : 3.800   Min.   :0.0800   Min.   :0.0000  
##  1st Qu.:1225   1st Qu.: 6.300   1st Qu.:0.2100   1st Qu.:0.2700  
##  Median :2450   Median : 6.800   Median :0.2600   Median :0.3200  
##  Mean   :2450   Mean   : 6.855   Mean   :0.2782   Mean   :0.3342  
##  3rd Qu.:3674   3rd Qu.: 7.300   3rd Qu.:0.3200   3rd Qu.:0.3900  
##  Max.   :4898   Max.   :14.200   Max.   :1.1000   Max.   :1.6600  
##  residual.sugar     chlorides       free.sulfur.dioxide
##  Min.   : 0.600   Min.   :0.00900   Min.   :  2.00     
##  1st Qu.: 1.700   1st Qu.:0.03600   1st Qu.: 23.00     
##  Median : 5.200   Median :0.04300   Median : 34.00     
##  Mean   : 6.391   Mean   :0.04577   Mean   : 35.31     
##  3rd Qu.: 9.900   3rd Qu.:0.05000   3rd Qu.: 46.00     
##  Max.   :65.800   Max.   :0.34600   Max.   :289.00     
##  total.sulfur.dioxide    density             pH          sulphates     
##  Min.   :  9.0        Min.   :0.9871   Min.   :2.720   Min.   :0.2200  
##  1st Qu.:108.0        1st Qu.:0.9917   1st Qu.:3.090   1st Qu.:0.4100  
##  Median :134.0        Median :0.9937   Median :3.180   Median :0.4700  
##  Mean   :138.4        Mean   :0.9940   Mean   :3.188   Mean   :0.4898  
##  3rd Qu.:167.0        3rd Qu.:0.9961   3rd Qu.:3.280   3rd Qu.:0.5500  
##  Max.   :440.0        Max.   :1.0390   Max.   :3.820   Max.   :1.0800  
##     alcohol         quality     
##  Min.   : 8.00   Min.   :3.000  
##  1st Qu.: 9.50   1st Qu.:5.000  
##  Median :10.40   Median :6.000  
##  Mean   :10.51   Mean   :5.878  
##  3rd Qu.:11.40   3rd Qu.:6.000  
##  Max.   :14.20   Max.   :9.000

通过观察可以看出该数据集共有4898个样本,包含13列,其中各列的详细信息如下:

单变量绘图选择

## 
##    3    4    5    6    7    8    9 
##   20  163 1457 2198  880  175    5

通过观察质量评分直方图,对于白葡萄酒的评分都是整数,最高的评分是9,最低的评分是3。发现超过2000种的白葡萄酒的评分都是6,评分为5的白葡萄酒大概接近1500种,这些种类的葡萄酒数量最少;该数据集中约有3/4的白葡萄酒评分在6分及6分以下。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.800   6.300   6.800   6.855   7.300  14.200

在该数据集中,非挥发性酸(fixed.acidity)的含量最小值是3.8,最大值是14.2,中位数是6.8,均值是6.855,分布近似于正态分布。大部分的葡萄酒的非挥发性酸的含量在6.8左右。

通过观察上图,分布是右偏的,该数据集中大部分的白葡萄酒的挥发性酸(volatile.acidity)的含量在0.1-0.4之间,挥发性酸的统计信息如下表所示,可以很明显的观察到非挥发性酸IQR为0.11,这表明数据的分布相对密集,Q3到最大值之间的差值约为0.79,是四分位差的7倍多,形成了右侧的长尾。为什么挥发性酸和非挥发性酸的含量分布有这种差异?

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0800  0.2100  0.2600  0.2782  0.3200  1.1000

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2700  0.3200  0.3342  0.3900  1.6600

通过观察上面两幅图,发现柠檬酸的含量也接近正态分布,中值是0.32,均值是0.3342.和其他两种酸不同的是,柠檬酸的含量有0值,当将binwidth设为0.01时,发现在0.5处有一个峰值,超过200种的葡萄酒的柠檬酸含量在0.5左右,这里我统计了一个柠檬酸在(0.48-0.52)之间的子集,后续可以继续分析这类葡萄酒的质量评分。

##      fixed.acidity volatile.acidity citric.acid residual.sugar chlorides
## 116            5.5            0.485           0            1.5     0.065
## 301            6.1            0.410           0            1.6     0.063
## 303            6.1            0.410           0            1.6     0.063
## 781            6.0            0.395           0            1.4     0.042
## 863            4.8            0.340           0            6.5     0.028
## 865            4.8            0.330           0            6.5     0.028
## 891            5.0            0.310           0            6.4     0.046
## 1153           6.1            0.600           0            1.3     0.042
## 1818           7.2            0.500           0            0.8     0.034
## 2322           4.6            0.445           0            1.4     0.053
## 2630           5.8            0.600           0            1.3     0.044
## 3455           5.8            0.540           0            1.4     0.033
## 3572           5.9            0.655           0            5.6     0.033
## 3636           5.8            0.580           0            1.5     0.020
## 4299           5.6            0.260           0           10.2     0.038
## 4598           6.7            0.660           0           13.0     0.033
## 4780           6.0            0.590           0            0.8     0.037
## 4793           4.7            0.785           0            3.4     0.036
## 4878           5.9            0.540           0            0.8     0.032
##      free.sulfur.dioxide total.sulfur.dioxide density   pH sulphates
## 116                    8                  103 0.99400 3.63      0.40
## 301                   36                   87 0.99140 3.27      0.67
## 303                   36                   87 0.99140 3.27      0.67
## 781                    7                   55 0.99135 3.37      0.38
## 863                   33                  163 0.99390 3.36      0.61
## 865                   34                  163 0.99370 3.35      0.61
## 891                   43                  166 0.99400 3.30      0.63
## 1153                  24                   79 0.99370 3.31      0.38
## 1818                  46                  114 0.99320 3.19      0.34
## 2322                  11                  178 0.99426 3.79      0.55
## 2630                  72                  197 0.99202 3.56      0.43
## 3455                  40                  107 0.98918 3.26      0.35
## 3572                   8                   31 0.99360 3.32      0.51
## 3636                  33                   96 0.98918 3.29      0.38
## 4299                  13                  111 0.99315 3.44      0.46
## 4598                  32                   75 0.99551 3.15      0.50
## 4780                  30                   95 0.99032 3.10      0.40
## 4793                  23                  134 0.98981 3.53      0.92
## 4878                  12                   82 0.99286 3.25      0.36
##      alcohol quality
## 116      9.7       4
## 301     10.8       6
## 303     10.8       6
## 781     11.2       4
## 863      9.9       6
## 865      9.9       5
## 891      9.9       6
## 1153     9.4       4
## 1818     9.2       4
## 2322    10.2       5
## 2630    10.9       5
## 3455    12.4       5
## 3572    10.5       4
## 3636    12.4       6
## 4299    12.4       6
## 4598    10.7       6
## 4780    10.9       4
## 4793    13.8       6
## 4878     8.8       5

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.600   1.700   5.200   6.391   9.900  65.800

通过计算和观察可以发现,葡萄酒中残糖含量的变化范围较广,最小值仅为0.6,最大值为65.8,由于在原直方图中观察到的结果不明显,所以在这里对x轴进行了对数变换,发现残糖含量程双峰分布,第一个峰值在0.2,第二个峰值出现在0.9.为什么会出现这种现象?

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00900 0.03600 0.04300 0.04577 0.05000 0.34600

由上面第一幅图可以观察到葡萄酒中氯化物的含量右偏分布,大部分的氯化物含量在0.1以下,所以,这里我抛弃了氯化物含量多于0.1的普通酒,重新绘制氯化物直方图,发现其接近于正态分布。氯化物含量的均值为0.046,中值为0.043。大部分的葡萄酒氯化物含量都在0.05以下。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    2.00   23.00   34.00   35.31   46.00  289.00

通过统计信息和上图发现,白葡萄酒中游离二氧化硫的含量范围变化也较大在2-289之间,均值是35.31,中值是34.0,但是大部分的游离二氧化硫的含量集中在0-100之间,所以这里将x轴限制在100以内观察,发现游离二氧化硫的含量大部分集中在25-50之间。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     9.0   108.0   134.0   138.4   167.0   440.0

通过上图和统计信息,总二氧化硫的含量分布是正态分布的,葡萄酒中总二氧化硫的含量范围在9.0-440.0之间,均值是138.4,中值是134.0。这里可以思考一下,总二氧化硫含量和游离二氧化硫含量之间的关系,直觉上总二氧化硫应该是包含了游离二氧化硫的。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9871  0.9917  0.9937  0.9940  0.9961  1.0390

通过上图和统计计算,葡萄酒密度的变化范围不大,在0.9871-1.0390之间,均值是0.994,中值是0.9937。通过放大x轴,发现密度的分布基本上是正态分布,在0.995处和0.997处有两个峰值,但是这里考虑到样本数量的限制,认为其就是正态分布。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.720   3.090   3.180   3.188   3.280   3.820

由上图可以很明显的发现,大多数葡萄酒的pH值的范围在3.0-3.4之间,pH值的平均值是3.188,中位数是3.180,pH值的直方图是正态分布。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.2200  0.4100  0.4700  0.4898  0.5500  1.0800

通过上图可以发现,葡萄酒中硫酸盐的含量分布是双峰长尾的,所以这里对其进行了对数变换,通过观察和比较两幅图,在-0.35时,明显要凹下去一些,为什么会出现这种情况。葡萄酒中硫酸盐的含量均值为0.4898,中位数是0.47。

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.00    9.50   10.40   10.51   11.40   14.20

## 
##    low median   high 
##   2085   2102    711

## wq$alcohol.level: low
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   8.000   9.100   9.400   9.361   9.600  10.000 
## -------------------------------------------------------- 
## wq$alcohol.level: median
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   10.03   10.50   10.90   10.94   11.40   12.00 
## -------------------------------------------------------- 
## wq$alcohol.level: high
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   12.05   12.30   12.50   12.63   12.89   14.20

从上图也可以明显看出,葡萄酒中的酒精含量相较于其他特性的变化不是很有规律,明显的存在多个峰值,在9.3、11、12.4处的峰值,当我们进一步调小binwidth时,峰值的变化更多。酒精含量的变化范围从8.0-14.2,酒精含量的均值为10.51,酒精含量的中位数为10.40。 这里进一步对酒精含量进行了划分,将其分为了低(<=10),中等(<=12),高(>12),这三种进一步对它们的分布进行了观察,发现低酒精含量和高酒精含量的数量差不多相当,高含量的要少一些。相对于其他含量的,中等含量的分布要更均匀一些。

单变量分析

你的数据集结构是什么?

白葡萄酒数据集中包含了4898种白葡萄酒的信息,共有13列:

  • x:序号列
  • fixed.acidity:非挥发性酸(单位:g/dm^3)
  • volatile.acidity:挥发性酸(单位:g/dm^3)
  • citric.acid:柠檬酸(单位:g/dm^3)
  • residual.sugar:残糖(单位:g/dm^3)
  • chlorides:氯化物(氯化钠的含量,单位:g/dm^3)
  • free.sulfur.dioxide:游离二氧化硫(单位:mg/dm^3)
  • total.sulfur.dioxide:总二氧化硫(单位:mg/dm^3)
  • density:密度(单位:g/dm^3)
  • pH:ph值
  • sulphates:硫酸盐含量(硫酸钾的含量,单位: g/dm^3)
  • alcohol:酒精含量(% by volume)
  • quality:葡萄酒质量评分,从0(极差)~10(非常好)

其他发现:

  • 这些白葡萄酒样本中,质量评分是整数,最低为3,最高为9
  • 有近75%的白葡萄酒评分在6及6以下
  • 相较于其他特征,柠檬酸的含量包含0值,其他特征不包含0值
  • 白葡萄酒中氯化物的含量大部分在0.1以下,均值为0.04577
  • 化学含量变化范围最大的是总二氧化硫的含量,最小值为9.0,最大值为440.0,均值为138.4
  • 密度变化范围最小,从 0.9871-1.0390
  • pH值的变化从2.72-3.82,平均pH值为3.188
  • 酒精含量的分布最不均匀,有多处峰值

你的数据集内感兴趣的主要特性有哪些?

对该数据集内最感兴趣的特征是质量评分,因为质量评分是一种最直观的判断葡萄酒好坏的标准。

你认为数据集内哪些其他特征可以帮助你探索兴趣特点?

可能残糖含量,各类酸的含量,以及酒精含量相较于其他特征来说可能会更多的影响白葡萄酒的评分,这可能也是个人在没有任何葡萄酒知识的前提下,挑选葡萄酒时通常关注的点。

根据数据集内已有变量,你是否创建了任何新变量?

  • 删除了x列,序号列对探索没有帮助
  • 创建了酒精水平含量(alcohol.level)变量,因为通过观察酒精含量所呈现的多个峰值的状态,对酒精含量进行不同等级(0-10(low),10-12(median),12-15(high))的划分,后面可能会来观察不同酒精等级对最终的质量评分的影响。

在已经探究的特性中,是否存在任何异常分布?你是否对数据进行一些操作,如清洁、调整或改变数据的形式?如果是,你为什么会这样做?

存在异常分布:

  • 在对柠檬酸进行直方图分析时,发现将bin宽度设置为0.01时,在0.5附近有一个较大的峰值,有超过200种葡萄酒的柠檬酸含量在这一范围。通过调整bin宽度可以观察到更细节的数据信息。
  • 在对残糖分析时,发现其是右偏分布,所以对其x轴进行了对数变换,能够观察到更多长尾的信息。变换后发现残糖含量是双峰分布的,在2和9处达到峰值。
  • 对于氯化物含量、游离二氧化硫的含量、密度这一类数据集中分布在某一段的数据,都采用了子集或设置xlim的方式,放大x轴,来查看更详细的数据信息。

双变量绘图选择

##                      fixed.acidity volatile.acidity  citric.acid
## fixed.acidity           1.00000000      -0.02269729  0.289180698
## volatile.acidity       -0.02269729       1.00000000 -0.149471811
## citric.acid             0.28918070      -0.14947181  1.000000000
## residual.sugar          0.08902070       0.06428606  0.094211624
## chlorides               0.02308564       0.07051157  0.114364448
## free.sulfur.dioxide    -0.04939586      -0.09701194  0.094077221
## total.sulfur.dioxide    0.09106976       0.08926050  0.121130798
## density                 0.26533101       0.02711385  0.149502571
## pH                     -0.42585829      -0.03191537 -0.163748211
## sulphates              -0.01714299      -0.03572815  0.062330940
## alcohol                -0.12088112       0.06771794 -0.075728730
## quality                -0.11366283      -0.19472297 -0.009209091
##                      residual.sugar   chlorides free.sulfur.dioxide
## fixed.acidity            0.08902070  0.02308564       -0.0493958591
## volatile.acidity         0.06428606  0.07051157       -0.0970119393
## citric.acid              0.09421162  0.11436445        0.0940772210
## residual.sugar           1.00000000  0.08868454        0.2990983537
## chlorides                0.08868454  1.00000000        0.1013923521
## free.sulfur.dioxide      0.29909835  0.10139235        1.0000000000
## total.sulfur.dioxide     0.40143931  0.19891030        0.6155009650
## density                  0.83896645  0.25721132        0.2942104109
## pH                      -0.19413345 -0.09043946       -0.0006177961
## sulphates               -0.02666437  0.01676288        0.0592172458
## alcohol                 -0.45063122 -0.36018871       -0.2501039415
## quality                 -0.09757683 -0.20993441        0.0081580671
##                      total.sulfur.dioxide     density            pH
## fixed.acidity                 0.091069756  0.26533101 -0.4258582910
## volatile.acidity              0.089260504  0.02711385 -0.0319153683
## citric.acid                   0.121130798  0.14950257 -0.1637482114
## residual.sugar                0.401439311  0.83896645 -0.1941334540
## chlorides                     0.198910300  0.25721132 -0.0904394560
## free.sulfur.dioxide           0.615500965  0.29421041 -0.0006177961
## total.sulfur.dioxide          1.000000000  0.52988132  0.0023209718
## density                       0.529881324  1.00000000 -0.0935914935
## pH                            0.002320972 -0.09359149  1.0000000000
## sulphates                     0.134562367  0.07449315  0.1559514973
## alcohol                      -0.448892102 -0.78013762  0.1214320987
## quality                      -0.174737218 -0.30712331  0.0994272457
##                        sulphates     alcohol      quality
## fixed.acidity        -0.01714299 -0.12088112 -0.113662831
## volatile.acidity     -0.03572815  0.06771794 -0.194722969
## citric.acid           0.06233094 -0.07572873 -0.009209091
## residual.sugar       -0.02666437 -0.45063122 -0.097576829
## chlorides             0.01676288 -0.36018871 -0.209934411
## free.sulfur.dioxide   0.05921725 -0.25010394  0.008158067
## total.sulfur.dioxide  0.13456237 -0.44889210 -0.174737218
## density               0.07449315 -0.78013762 -0.307123313
## pH                    0.15595150  0.12143210  0.099427246
## sulphates             1.00000000 -0.01743277  0.053677877
## alcohol              -0.01743277  1.00000000  0.435574715
## quality               0.05367788  0.43557472  1.000000000

这里对所有的特性进行了相关性分析,创建了相关矩阵,及散点图矩阵。通过观察,发现酒精含量(alcohol)相对于其他特性,和质量评分的相关性最高,相关系数约为0.44,其后依次是密度(density)-0.31、氯化物(chlorides)-0.21、挥发性酸(volatile.acidity)-0.19、总二氧化硫含量(total.sulfur.dioxide)-0.17、非挥发性酸(fixed.acidity)-0.11、pH值-0.10、残糖(residual.sugar)-0.10、硫酸盐含量(sulphates)0.05、柠檬酸(citric.acid)-0.009、游离二氧化硫(free.sulfur.dioxide)0.008。相关系数的差异很大,所以这里着重分析几个和质量评分相关较强的特征。

## wq$quality: 3
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.00    9.55   10.45   10.35   11.00   12.60 
## -------------------------------------------------------- 
## wq$quality: 4
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.40    9.40   10.10   10.15   10.75   13.50 
## -------------------------------------------------------- 
## wq$quality: 5
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   8.000   9.200   9.500   9.809  10.300  13.600 
## -------------------------------------------------------- 
## wq$quality: 6
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.50    9.60   10.50   10.58   11.40   14.00 
## -------------------------------------------------------- 
## wq$quality: 7
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.60   10.60   11.40   11.37   12.30   14.20 
## -------------------------------------------------------- 
## wq$quality: 8
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.50   11.00   12.00   11.64   12.60   14.00 
## -------------------------------------------------------- 
## wq$quality: 9
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   10.40   12.40   12.50   12.18   12.70   12.90

结合散点图和线箱图,通过设置透明度,发现大部分的评分在5-7之间,可以较明确的看出质量评分在5-9之间时,评分越高,酒精含量的中位数就越高,在评分3-5之间,评分越高,酒精含量的中位数就越低。

## wq$quality: 3
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9911  0.9925  0.9944  0.9949  0.9969  1.0001 
## -------------------------------------------------------- 
## wq$quality: 4
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9892  0.9926  0.9941  0.9943  0.9958  1.0004 
## -------------------------------------------------------- 
## wq$quality: 5
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9872  0.9933  0.9953  0.9953  0.9972  1.0024 
## -------------------------------------------------------- 
## wq$quality: 6
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9876  0.9917  0.9937  0.9940  0.9959  1.0390 
## -------------------------------------------------------- 
## wq$quality: 7
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9871  0.9906  0.9918  0.9925  0.9937  1.0004 
## -------------------------------------------------------- 
## wq$quality: 8
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9871  0.9903  0.9916  0.9922  0.9935  1.0006 
## -------------------------------------------------------- 
## wq$quality: 9
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9897  0.9898  0.9903  0.9915  0.9906  0.9970

通过观察密度和质量评分散点图及线箱图,发现随着密度的增加,质量评分逐渐降低,这也确实符合前面计算出来的相关系数。但是要注意的是和酒精含量类似,在评分为3-5这段区间,质量评分随着密度的增加,评分也有一个小的增幅。考虑到酒精含量和密度这两者的强相关性,可以分析一下这二者的联系。

酒精含量和密度的相关系数约为-0.78,二者有很强的相关性,通过观察上图,可以了解到二者几乎是线性关系。我们知道,酒精的密度比水要小,所以葡萄酒中的酒精含量越高,葡萄酒的密度也就约低,这样也就从侧面印证了上面的推断,酒精含量越高,密度越低,质量评分越高。酒精除了和密度相关性强之外,和残糖以及总二氧化硫的含量也有很强的相关性,它们之间的相关系数都约为-0.45。

通过对上面两幅图的分析,酒精同残糖量以及总二氧化硫含量负相关,为什么会造成这种情况,这是由于在葡萄酒的生产过程中,通过发酵将糖转化为酒精,所以残糖含量越高,酒精含量酒越低。而葡萄酒中二氧化硫实际上充当了防腐剂、保鲜剂、抗氧化剂的功效,它和酒精含量的关系是负相关的,总二氧化硫含量越高,酒精含量越低。而总二氧化硫含量不只与酒精强度相关,同密度也有很强的相关系数0.53.

总二氧化硫含量同葡萄酒的密度,也有较强的相关性,含量越高,葡萄酒的密度也就越高。

这里绘制出了质量和氯化物含量的散点图和线箱图,通过调整噪声、透明度、以及相关坐标轴的限制可以发现氯化物和质量评分之间的关系,虽然不如酒精含量和密度那么明显,但是也近乎是负相关的,即氯化物含量越低,酒精质量评分就越高。

通过观察质量评分和挥发性酸的含量以及总二氧化硫的含量,发现虽然它们和质量评分有相关性,但相关性都不是很强。

从相关系数矩阵中发现,密度和残糖的含量相关系数高达0.85,所以这里做出它们的散点图进一步观察二者之间的关系,二者几乎呈线性关系,残糖的含量越高,则白葡萄酒的密度越低,相对于其他特性,残糖对葡萄酒密度的影响最大。

游离二氧化硫的含量和总二氧化硫的含量相关性也很强,也几乎呈线性,通过查阅相关资料,发现总二氧化硫含量包括了游离二氧化硫和结合二氧化硫。那这里是否二者的比率会影响质量评分呢?

wq$ratio.free.total <- wq$free.sulfur.dioxide/wq$total.sulfur.dioxide
cor.test(wq$quality,wq$ratio.free.total)
## 
##  Pearson's product-moment correlation
## 
## data:  wq$quality and wq$ratio.free.total
## t = 14.076, df = 4896, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1701474 0.2239834
## sample estimates:
##       cor 
## 0.1972141

通过计算比率和相关系数,发现游离二氧化硫占总二氧化硫含量的比率和质量评分的相关系数依然不大,仅为0.197,再次查阅相关资料,发现这个比率会随着时间变化,游离二氧化硫的含量会越来越少。所以它和质量评分的关系不大。

最后这里考虑到之前划分的酒精含量水平(alcohol.level)的特性,来进行观察,考虑到大量的重合点,这里通过添加噪声和设置透明度观察。不同酒精水平的质量评分的分布明显有一些差异。同一酒精水平上的质量评分程阶段分布,这是由于质量评分都是整数造成的,而当酒精水平是low时,大部分的评分在5-6上面,而当酒精含量是中等时,大部分的评分在5-7之间,最后当酒精含量高时,大部分的评分在6-7之间,评分在6以下的很少。这也印证了刚开始的猜想,酒精含量越高,质量评分就越高。

双变量分析

探讨你在这部分探究中观察到的一些关系。这些感兴趣的特性与数据集内其他特性有什么区别?

在进行双变量分析时,最主要的关注点还是质量评分和其他特性之间的关系,首先创建了相关系数矩阵,并创建了相关系数的可视化图形,通过观察可以较明显的发现和质量评分相关性最强的两个特性,酒精含量和密度。

  • 通过绘制二者的散点图和线箱图,发现随着酒精含量的增加,质量评分也逐渐变高。更细节的观察是当质量评分在3-5时,随着酒精含量的增加,质量评分逐渐降低,而当质量评分在5-9时,随着酒精含量的增加,质量评分也在增加。
  • 通过绘制密度和质量评分的关系,发现随着密度的降低,质量评分逐渐变高。在质量评分较低(3-5)时,质量评分和密度的关系不是很明显,而当质量评分大于5时,随着密度的增加,质量评分也就越来越低了。
  • 考虑到酒精和密度之间的强相关性(相关系数-0.78),分析了一下酒精含量同密度的关系,利用散点图和拟合曲线,发现二者几乎是一种线性关系,随着酒精含量的增加,密度逐渐降低。
  • 再次观察相关系数矩阵,发现酒精含量还和残糖、及总二氧化硫的含量有较强的相关性(相关系数-0.45),所以,分别利用散点图,观察了一下它们之间的关系,从总的趋势上来看,随着残糖含量的升高,酒精含量会降低,总二氧化硫的含量越高,酒精含量也越低。
  • 总二氧化硫的含量和密度的相关系数也比较高,约为0.53,随着总二氧化硫的增高,密度也增高,而密度越高,说明酒精含量越低,这也证明了上述的分析。
  • 此外,发现游离二氧化硫含量和总二氧化硫含量之间的关系也是正相关的,考虑到总二氧化硫和密度及酒精含量都有很强的相关性,所以考虑是否这二者的比率对质量评分有影响。通过计算比率和质量评分的相关系数,约为0.20
  • 最后,还观察了质量评分同酒精含量水平(alcohol.level)之间的关系,通过散点图,可以明显看出处在高酒精含量的葡萄酒评分高。

你是否观察到主要特性与其他特性之间的有趣关系?

除了酒精含量和密度,还观察了质量评分同氯化物、挥发性酸、总二氧化硫的含量的线箱图,通过一些调整,发现随着这些特性的增加,质量评分也呈逐渐降低的趋势,但是不是那么明显。

你发现最强的关系是什么?

最强的关系应该是密度和残糖含量之间的关系了,这二者间的相关系数高达0.84,通过查阅相关资料,我们知道葡萄酒主要是由水、酒精及其他矿物质组成,糖分经过发酵会产生酒精,而残糖含量和发酵时间有很大关系,也就是说发酵时间越长,残糖含量就越少,酒精含量就越多,就会导致葡萄酒的密度降低。此外,通过相关系数矩阵可以看出酒精和密度也有很强的相关性,约为-0.78。

多变量绘图选择

## starting httpd help server ... done

## 
## Calls:
## m1: lm(formula = quality ~ alcohol, data = wq)
## m2: lm(formula = quality ~ alcohol + density, data = wq)
## 
## ==============================================
##                        m1            m2       
## ----------------------------------------------
##   (Intercept)         2.582***    -22.492***  
##                      (0.098)       (6.165)    
##   alcohol             0.313***      0.360***  
##                      (0.009)       (0.015)    
##   density                          24.728***  
##                                    (6.079)    
## ----------------------------------------------
##   R-squared           0.190         0.192     
##   adj. R-squared      0.190         0.192     
##   sigma               0.797         0.796     
##   F                1146.395       583.290     
##   p                   0.000         0.000     
##   Log-likelihood  -5839.391     -5831.127     
##   Deviance         3112.257      3101.773     
##   AIC             11684.782     11670.255     
##   BIC             11704.272     11696.241     
##   N                4898          4898         
## ==============================================

这里结合酒精含量,密度及质量评分创建散点图,可以很清晰的发现大部分的白葡萄酒评分在5-7之间,而评分高的,密度越低,酒精含量越高。利用酒精含量水平来观察,这些特性更加明显。这里创建了利用酒精含量和密度来判断质量评分的线性模型,酒精能决定近19%的质量评分。

通过观察发现,残糖和二氧化硫的含量越高,酒精含量越低,但是残糖及二氧化硫单独同质量评分的关系并不明显。

通过这幅图,发现密度和残糖之间几乎呈线性关系,质量越高,残糖含量越少,密度越小。

## 
## Calls:
## m1: lm(formula = quality ~ alcohol, data = wq)
## m2: lm(formula = quality ~ alcohol + density, data = wq)
## m3: lm(formula = quality ~ alcohol + density + total.sulfur.dioxide, 
##     data = wq)
## m4: lm(formula = quality ~ alcohol + density + total.sulfur.dioxide + 
##     residual.sugar, data = wq)
## 
## ================================================================================
##                              m1            m2            m3            m4       
## --------------------------------------------------------------------------------
##   (Intercept)               2.582***    -22.492***    -21.429***     93.661***  
##                            (0.098)       (6.165)       (6.481)      (12.665)    
##   alcohol                   0.313***      0.360***      0.361***      0.246***  
##                            (0.009)       (0.015)       (0.015)       (0.018)    
##   density                                24.728***     23.630***    -91.314***  
##                                          (6.079)       (6.421)      (12.623)    
##   total.sulfur.dioxide                                  0.000         0.000     
##                                                        (0.000)       (0.000)    
##   residual.sugar                                                      0.054***  
##                                                                      (0.005)    
## --------------------------------------------------------------------------------
##   R-squared                 0.190         0.192         0.193         0.210     
##   adj. R-squared            0.190         0.192         0.192         0.210     
##   sigma                     0.797         0.796         0.796         0.787     
##   F                      1146.395       583.290       388.898       325.984     
##   p                         0.000         0.000         0.000         0.000     
##   Log-likelihood        -5839.391     -5831.127     -5830.986     -5776.042     
##   Deviance               3112.257      3101.773      3101.593      3032.783     
##   AIC                   11684.782     11670.255     11671.972     11564.084     
##   BIC                   11704.272     11696.241     11704.454     11603.064     
##   N                      4898          4898          4898          4898         
## ================================================================================

通过观察发现结合了总二氧化硫含量以及残糖含量,这四种因素对质量评分能够解释近21%的质量评分。

## 
## Calls:
## m5: lm(formula = quality ~ alcohol + density + total.sulfur.dioxide + 
##     residual.sugar + volatile.acidity, data = wq)
## m6: lm(formula = quality ~ alcohol + density + total.sulfur.dioxide + 
##     residual.sugar + volatile.acidity + pH, data = wq)
## 
## ====================================================
##                              m5            m6       
## ----------------------------------------------------
##   (Intercept)              82.245***    104.258***  
##                           (12.231)      (12.603)    
##   alcohol                   0.288***      0.255***  
##                            (0.018)       (0.018)    
##   density                 -79.761***   -103.282***  
##                           (12.191)      (12.624)    
##   total.sulfur.dioxide      0.001**       0.001**   
##                            (0.000)       (0.000)    
##   residual.sugar            0.053***      0.065***  
##                            (0.005)       (0.005)    
##   volatile.acidity         -2.093***     -2.055***  
##                            (0.109)       (0.109)    
##   pH                                      0.517***  
##                                          (0.076)    
## ----------------------------------------------------
##   R-squared                 0.265         0.272     
##   adj. R-squared            0.265         0.271     
##   sigma                     0.759         0.756     
##   F                       353.570       304.960     
##   p                         0.000         0.000     
##   Log-likelihood        -5599.111     -5576.314     
##   Deviance               2821.404      2795.262     
##   AIC                   11212.223     11168.629     
##   BIC                   11257.699     11220.601     
##   N                      4898          4898         
## ====================================================

进一步结合挥发性酸和pH值,来构建线性模型,这样构造的模型能够解释近27.2%的质量评分。

## 
## Calls:
## m7: lm(formula = quality ~ alcohol + density + total.sulfur.dioxide + 
##     residual.sugar + volatile.acidity + pH + chlorides, data = wq)
## m8: lm(formula = quality ~ alcohol + density + total.sulfur.dioxide + 
##     residual.sugar + volatile.acidity + pH + chlorides + sulphates, 
##     data = wq)
## 
## ====================================================
##                              m7            m8       
## ----------------------------------------------------
##   (Intercept)             103.491***    119.986***  
##                           (12.637)      (12.903)    
##   alcohol                   0.253***      0.232***  
##                            (0.018)       (0.019)    
##   density                -102.449***   -119.030***  
##                           (12.664)      (12.932)    
##   total.sulfur.dioxide      0.001**       0.001*    
##                            (0.000)       (0.000)    
##   residual.sugar            0.064***      0.071***  
##                            (0.005)       (0.005)    
##   volatile.acidity         -2.046***     -2.008***  
##                            (0.110)       (0.109)    
##   pH                        0.511***      0.477***  
##                            (0.077)       (0.077)    
##   chlorides                -0.449        -0.432     
##                            (0.539)       (0.538)    
##   sulphates                               0.582***  
##                                          (0.099)    
## ----------------------------------------------------
##   R-squared                 0.272         0.277     
##   adj. R-squared            0.271         0.276     
##   sigma                     0.756         0.753     
##   F                       261.476       234.677     
##   p                         0.000         0.000     
##   Log-likelihood        -5575.968     -5558.731     
##   Deviance               2794.867      2775.265     
##   AIC                   11169.936     11137.463     
##   BIC                   11228.405     11202.429     
##   N                      4898          4898         
## ====================================================

结合之前的线性模型,再加上氯化物和硫酸盐这两种特性,R2值也仅提升了0.05%,整个线性模型仅能解释27.7%的质量评分,模型构建的不成功。

多变量分析

探讨你在这部分探究中观察到的一些关系。通过观察感兴趣的特性,是否存在相互促进的特性?

  • 首先,分析了质量评分、密度与酒精含量之间的关系,酒精含量同密度之间近乎是线性关系,酒精含量越高,密度越小,质量评分越高,这里利用酒精含量水平来观察,更加明显。通过构建线性模型,发现酒精含量能解释白葡萄酒质量评分的19%,而加上密度后,R2值仅提高了0.2%。
  • 还观察了残糖含量,总二氧化硫含量对酒精含量水平的影响,这二者的变化和酒精含量负相关,所以进一步观察了它们对质量评分的影响,也是负相关,但是不够明显。在之前创建的线性模型中又添加了残糖含量和总二氧化硫含量。R2值提高到了21%。
  • 相对于ph值对质量评分的影响,挥发性酸的含量和质量评分的关系要更明显一些,二者负相关。同样,我将这两种特性加入到了线性模型中,加入挥发性酸后,R2值提高了5.5%,非常明显,再加上pH值,R2值提高到了27.2%。
  • 最后还观察了氯化物、硫酸盐同质量评分的关系,在之前的线性模型中又加入了这两种特性,但是最终得到的线性模型的R2值为27.7%,提高的并不多。

这些特性之间是否存在有趣或惊人的联系呢?

残糖含量同密度正相关,几乎是线性关系,再结合密度同酒精的线性关系,所以这三者之间的相关性非常强,对质量评分的影响非常大。

选项:你是否创建过数据集的任何模型?讨论你模型的优缺点。

通过结合酒精含量,密度,总二氧化硫含量,残糖,挥发性酸,ph值,氯化物含量,硫酸盐含量构建了一个预测白葡萄酒的线性模型,其中酒精含量能解释19%的质量评分,但是该线性模型的R2值,仅为27.2%。不能做出较好的预测。


定稿图与总结

绘图一

描述一

从上图可以看出,大部分的白葡萄酒的评分在5-7之间,当质量评分在3-5时,随着质量评分的提高,白葡萄酒酒精含量的中位数在降低,而当质量评分大于5后,随着质量评分的升高,酒精含量的中位数也在升高,图中的红线简单地表示了质量和酒精含量的线性关系,二者正相关。图中的红点表示各质量评分下的酒精含量均值。

绘图二

描述二

这幅图中对酒精含量进行了划分,酒精含量由低到高,小圆点颜色由浅到深。这幅图反映了与质量评分同密度和酒精含量水平之间的关系。明显低度白葡萄酒的密度更高质量评分偏低,高度白葡萄酒的密度更低质量评分更高。

绘图三

描述三

这幅图对不同质量评分的白葡萄酒进行了划分,评分越高的葡萄酒,颜色越深。质量越高的葡萄酒,残糖含量越低,密度也越低。能够很清楚的看出,不同质量评分的葡萄酒,其残糖含量和密度均呈现线性关系。


反思

白葡萄酒数据集包含了4898个白葡萄酒的化学成分含量及评分等信息,该数据集是在2009年收集的。该数据集被广泛应用于数据挖掘领域,来进行建模预测学习分析。本次探索分析,我从单变量分析开始,来理解数据集,找出最感兴趣的特性质量评分,再通过相关矩阵,分析其他变量分别对质量评分的影响,最终,再分析了多个变量对质量评分的影响,尝试构造了一个线性模型,来预测白葡萄酒的质量评分。但最终模型的R2值仅为27.2%。效果不好。一方面这可能是由于质量评分是整数值,并不是一个连续的数值,所以线性模型不够理想;另一方面,可能对于变量间的关系分析的还不够透彻。
通过相关矩阵,发现酒精含量、密度和质量评分的相关系数最大,所以对这两个变量进行了探索,其次,发现残糖含量及总二氧化硫含量和密度及酒精的相关系数也很大,深入的分析了这几个变量间的关系,发现酒精含量和密度之间存在较强的线性关系,二者负相关,其次残糖含量也同酒精有较强的线性关系,二者也是负相关。最后还探索了质量评分同几种酸的含量之间的关系以及矿物盐的关系,虽然这些同质量评分的相关性不强,但它们对质量评分也有影响。 通过探索数据集,如果要提高白葡萄酒的质量评分,最直接有效的方法可能就是提高酒精含量,葡萄酒中的酒精是由糖发酵而来的,发酵越充分,酒精含量就越高,密度就越低,可能最终的葡萄酒会有更高的质量评分;此外,葡萄酒中的总二氧化硫含量充当了防腐剂,保鲜剂的功效,影响葡萄酒的质量;而各种酸会影响口感和气味,也对质量有较大的影响。
本次探索的数据集有一定限制,首先,葡萄酒中的化学物质含量包括的有限,可能还有其他未统计的影响质量评分的化学物质;其次,该数据集仅包含了白葡萄酒的信息,没有其他如红葡萄酒的信息,数据集的覆盖面应该更广一些,这样可能会构建一个更有实际意义的预测模型。 未来继续的分析,首先要解决的应该是模型选取的问题,通过相关资料了解到SVM对于葡萄酒质量评分的预测效果最好,可能在后续会用SVM来作为预测模型;此外还可以加入红葡萄酒的数据集,来进行这两种葡萄酒之间的化学成分含量之间的差异分析;利用更完善的数据集以及评分,来构建更有代表性的模型,指导葡萄酒厂家,制造更多高品质的葡萄酒。